package indzcraft.loader;
import java.util.HashMap;
import java.util.Vector;

public class ItemSetDB {
	
	HashMap<String,ItemSet> itemSetDB = new HashMap<String,ItemSet>();
	
	public ItemSetDB(){
		populateItemSetDB();
	}
	
	public ItemSetDB.ItemSet getItemSet(int id){
		if(itemSetDB.containsKey(id)){
			return itemSetDB.get(id);
		}
		System.out.println("unknown itemsetid:"+  id);
		return null;
	}
	
	public String getItemSetByItemId(int id){
		for(String name: itemSetDB.keySet()) {
			if(itemSetDB.get(name).contains(id))
				return name;
		}
		return null;
	}
	
	private void populateItemSetDB() {
		ItemSet s = new ItemSet();
		s.add(71045);
		s.add(71046);
		s.add(71047);
		s.add(71048);
		s.add(71049);
		s.add(71537);
		s.add(71538);
		s.add(71539);
		s.add(71540);
		s.add(71541);
		itemSetDB.put("T12", s);
		ItemSet s2 = new ItemSet();
		s2.add(60298);
		s2.add(60299);
		s2.add(60300);
		s2.add(60301);
		s2.add(60302);
		s2.add(65239);
		s2.add(65240);
		s2.add(65241);
		s2.add(65242);
		s2.add(65243);
		itemSetDB.put("T11", s2);
		ItemSet s3 = new ItemSet();
		s3.add(77945);
		s3.add(77946);
		itemSetDB.put("Dagger_Stage_1", s3);
		
		ItemSet s4 = new ItemSet();
		s4.add(new int[]{77023,77024,77025,77026,77027}); // normal
		s4.add(new int[]{78794,78774,78803,78833,78759}); // lfr
		s4.add(new int[]{78679,78699,78708,78738,78664}); // heroic
		itemSetDB.put("T13", s4);
		
		ItemSet s5 = new ItemSet();
		s5.add(77947);
		s5.add(77948);
		itemSetDB.put("Dagger_Stage_2", s5);
		
		ItemSet s6 = new ItemSet();
		s6.add(77949);
		s6.add(77950);
		itemSetDB.put("Dagger_Stage_3", s6);
	}

	class ItemSet{
		int id;
		Vector<Integer> items = new Vector<Integer>();
		
		public ItemSet(){ }

		public void add(int i){
			items.add(i);
		}
		
		public void add(int[] i){
			for(int k = 0;k < i.length;k++){
				items.add(i[k]);
			}
		}
		
		public boolean contains(int i){
			if(items.contains(i))
				return true;
			return false;
		}
	}
}

